<?php
	require_once $_SERVER['DOCUMENT_ROOT'] . '/spa/xajax/xajax_core/xajax.inc.php';
	
	$xajax = new xajax();

	$rif = $HTTP_GET_VARS['rif'];
	
	function buscarNombreCliente($ci) {
		$conexion = OCILogon('spa', '1234') or die("¡No se pudo conectar a la base de datos!") or die(OCIError());
		
		$query = "SELECT NOMBRE || ' ' || APELLIDO NOMBRE
				  FROM CLIENTE
				  WHERE PK_CI = $ci
				  AND STATUS = 'ACTIVO'";
				  
		$sentencia = OCIParse($conexion, $query);
		
		OCIExecute($sentencia);
		
		OCILogOff($conexion);
		
		$rows = OCIFetchstatement($sentencia, $resultado);
		
		if ($rows > 0)
			return $resultado['NOMBRE'][0];
			
		return 'false';
	}
	
	function validarCedula($ci, $status) {
		$respuesta = new xajaxResponse();
		
		if ($status == 2) { // Status ocupado
			if ($ci == '') {
				$respuesta -> assign("errorCedula", "innerHTML", '<font color="#990000">* Campo obligatorio</font>');
				$respuesta -> assign("errorCd", "innerHTML", '<input name="errorCedula" type="hidden" value="true" />');
			}
		
			else if (!is_numeric($ci)) {
				$respuesta -> assign("errorCedula", "innerHTML", '<font color="#990000">* Cédula debe ser entera</font>');
				$respuesta -> assign("errorCd", "innerHTML", '<input name="errorCedula" type="hidden" value="true" />');
			}
		
			else {
				$conexion = OCILogon('spa', '1234') or die("¡No se pudo conectar a la base de datos!") or die(OCIError());
		
				$query = "SELECT *
		    	   	  	  FROM CLIENTE
			  			  WHERE PK_CI = $ci
				  		  AND STATUS = 'ACTIVO'";
		
				$sentencia = OCIParse($conexion, $query);
		
				OCIExecute($sentencia);
		
				OCILogOff($conexion);
			
				$rows = OCIFetchstatement($sentencia, $resultado);
		
				if ($rows == 0) {
					$respuesta -> assign("errorCedula", "innerHTML", '<font color="#990000">* Cédula no registrada</font>');
					$respuesta -> assign("errorCd", "innerHTML", '<input name="errorCedula" type="hidden" value="true" />');
				}
			
				else {
					$respuesta -> assign("errorCedula", "innerHTML", '<font color="#FFFFFF">Nombre del cliente: ' . 
										 $resultado['NOMBRE'][0] . ' ' . $resultado['APELLIDO'][0] . '</font>');
					$respuesta -> assign("errorCd", "innerHTML", '<input name="errorCedula" type="hidden" value="false" />');
				}	
			}
		}
		
		else {
			$cliente = '<input name="ciCliente" id="ciCliente" type="text" size="40" maxlength="10"';
			$cliente .= ' onblur="var indice = 0;
							  for (i = 0; i < document.habitacion.status.length; i++)
            				      if (document.habitacion.status[i].checked)
            					      indice = i;			 
			 
					  		  xajax_validarCedula(document.habitacion.ciCliente.value, indice)" />';
					
			$respuesta -> assign("errorCedula", "innerHTML", '');
			$respuesta -> assign("errorCd", "innerHTML", '<input name="errorCedula" type="hidden" value="false" />');
			$respuesta -> assign("cliente", "innerHTML", $cliente);
		}
		
		return $respuesta;
		
	}
	
	$xajax -> registerFunction("validarCedula");
	
	function reiniciarCamposErrores() {
		$status = 'Disponible <input name="status" type="radio" value="DISPONIBLE" checked="checked"';
		$status .= ' onclick="xajax_validarCedula(document.habitacion.ciCliente.value, 0)" /><br />';
		$status .= 'No apta <input name="status" type="radio" value="NO APTA"';
		$status .= ' onclick="xajax_validarCedula(document.habitacion.ciCliente.value, 1)" /><br />';
		$status .= 'Ocupada <input name="status" type="radio" value="OCUPADA"';
		$status .= ' onclick="xajax_validarCedula(document.habitacion.ciCliente.value, 2)" /><br />';
			 
		$tipo = 'Individual <input name="tipoH" type="radio" value="INDIVIDUAL" checked="checked"';
		$tipo .= ' onclick="document.habitacion.capacidad.value = 1" /><br />';
		$tipo .= 'Doble <input name="tipoH" type="radio" value="DOBLE"';
		$tipo .= ' onclick="document.habitacion.capacidad.value = 2" /><br />';
		$tipo .= 'Triple <input name="tipoH" type="radio" value="TRIPLE"';
		$tipo .= ' onclick="document.habitacion.capacidad.value = 3" /><br />';
		 	 
		$costo = '<input name="costo" id="costo" type="text" size="33" maxlength="11"
			       onblur="xajax_validarCosto(document.habitacion.costo.value)" /><font color="#FFFFFF" size="+1"> $US</font>';
		
		$cliente = '<input name="ciCliente" id="ciCliente" type="text" size="40" maxlength="10"';
		$cliente .= ' onblur="var indice = 0;
							  for (i = 0; i < document.habitacion.status.length; i++)
            				      if (document.habitacion.status[i].checked)
                				      indice = i;			 
			 
			 				  xajax_validarCedula(document.habitacion.ciCliente.value, indice)" />';
		
		$respuesta = new xajaxResponse();
		
		/**
		 * Para escribir en las capas se utiliza el método assign del objeto respuesta de la clase xajaxResponse creado
		 * Recibe como parámetros el nombre de la capa (div), "innerHTML" (siempre es así) y lo que se va a escribir en dicha capa
		 */
        $respuesta -> assign("status", "innerHTML", $status);
		$respuesta -> assign("errorNumero", "innerHTML", '');
		$respuesta -> assign("errorN", "innerHTML", '<input name="errorNumero" type="hidden" value="false" />');
		
		$respuesta -> assign("tipo", "innerHTML", $tipo);
		$respuesta -> assign("costo", "innerHTML", $costo);
        
		$respuesta -> assign("cliente", "innerHTML", $cliente);	
		$respuesta -> assign("errorCedula", "innerHTML", '');
		$respuesta -> assign("errorCd", "innerHTML", '<input name="errorCedula" type="hidden" value="false" />');

		$respuesta -> assign("mensaje", "innerHTML", "");
		
		return $respuesta;
	}
	
	$xajax -> registerFunction("reiniciarCamposErrores");
	
	function insertar_habitacion($habitacion) {
		$rif = $habitacion['rif'];
		$status = $habitacion['status'];
		$tipoH = $habitacion['tipoH'];
		$costo = $habitacion['costo'];
		$capacidad = $habitacion['capacidad'];
		$ciCliente = $habitacion['ciCliente'];
		
		$conexion = OCILogon('spa', '1234') or die("¡No se pudo conectar a la base de datos!") or die(OCIError());
		
		if ($status == 'OCUPADA') {
			$query = "INSERT INTO HABITACION VALUES (PK_NRO_HAB.NEXTVAL, '$status', '$tipoH', $costo, $capacidad, '$rif', $ciCliente)";
			$nombreCliente = buscarNombreCliente($ciCliente);
		}
		
		else {
			$query = "INSERT INTO HABITACION VALUES (PK_NRO_HAB.NEXTVAL, '$status', '$tipoH', $costo, $capacidad, '$rif', NULL)";
			$nombreCliente = '';
		}
			
		$sentencia = OCIParse($conexion, $query);
		
		OCIExecute($sentencia);
		
		OCICommit($conexion);
		
		OCILogOff($conexion);
		
		$mensaje = '<font color="#FFFFFF" size="+1">¡INSERCIÓN EXITOSA!</font>';
		
		$respuesta = new xajaxResponse();
		
		$respuesta -> assign("status", "innerHTML", '<font color="#FFFFFF">' . $status . '</font>');
		$respuesta -> assign("tipo", "innerHTML", '<font color="#FFFFFF">' . $tipoH . '</font>');
		$respuesta -> assign("costo", "innerHTML", '<font color="#FFFFFF">' . $costo . ' $US</font>');
		
		if ($capacidad == 1) $cantidadPersonas = ' persona';
		else $cantidadPersonas = ' personas';
		$respuesta -> assign("capacidad", "innerHTML", '<font color="#FFFFFF">' . $capacidad . $cantidadPersonas . '</font>');
		$respuesta -> assign("cliente", "innerHTML", '<font color="#FFFFFF">' . $nombreCliente . '</font>');
		$respuesta -> assign("errorCedula", "innerHTML", '');
		
		$respuesta -> assign("borrar", "innerHTML", '');
		$respuesta -> assign("registrar", "innerHTML", '');
		
		$respuesta -> assign("mensaje", "innerHTML", $mensaje);
		
		return $respuesta;
	}
	
	$xajax -> registerFunction("insertar_habitacion");
	
	function buscarNombreLocal($rif) {
		$conexion = OCILogon('spa', '1234') or die("¡No se pudo conectar a la base de datos!") or die(OCIError());
		
		$query = "SELECT NOMBRE_LOCAL
				  FROM LOCAL
				  WHERE PK_RIF_LOCAL = '$rif'";
				  
		$sentencia = OCIParse($conexion, $query);
		
		OCIExecute($sentencia);
		
		OCILogOff($conexion);
		
		$rows = OCIFetchstatement($sentencia, $resultado);
		
		if ($rows > 0)
			$nombreLocal = $resultado['NOMBRE_LOCAL'][0];
			
		return $nombreLocal;
	}
	
	function validarCosto($costo) {
		$respuesta = new xajaxResponse();
		 
		if ($costo == '') {
			$respuesta -> assign("errorCosto", "innerHTML", '<font color="#990000" size="-1">* Campo obligatorio</font>');
			$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="true" />');
		}
		 
		else if (!is_numeric($costo)) {
			$respuesta -> assign("errorCosto", "innerHTML", '<font color="#990000" size="-1">* Costo debe ser numérico</font>');
			$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="true" />');
		}
		
		else if (($costo < 0.01) || ($costo > 99999999.99)) {
			$respuesta -> assign("errorCosto", "innerHTML", '<font color="#990000" size="-1">* Costo entre  0.01 y 99999999.99</font>');
			$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="true" />');
		}
		
		else {
			$respuesta -> assign("errorCosto", "innerHTML", '');
		 	$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="false" />');	
		}
		
		return $respuesta;
	}
	
	$xajax -> registerFunction("validarCosto");
	
	$xajax -> processRequest();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License

Name       : Beach Sunset
Description: A two-column, fixed-width design for 1024x768 screen resolutions.
Version    : 1.0
Released   : 20090416

-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Insertar nueva habitación</title>
<?php
	$xajax -> printJavascript("xajax/");
?>
<script>
	function insertarHabitacion() {
		errorCosto = document.habitacion.errorCosto.value;
		errorCedula = document.habitacion.errorCedula.value;
		
		if ((errorCosto == 'false') && (errorCedula == 'false'))
			xajax_insertar_habitacion(xajax.getFormValues('habitacion'));
			
		else
			alert("¡Los datos de la habitación presentan inconvenientes, revise e intente de nuevo!");
	}
</script>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
<style type="text/css">
<!--
.Estilo1 {font-size: 36px ; color: #FFFFFF}
.Estilo2 {font-size: 12px; color: #FF6600; }
.Estilo3 {font-size: 10px}
.Estilo10 {color: #F0F0F0}

-->
</style>

</head>
<body>

<div id="wrapper">
		<div id="header">	
 <br />
		<div id="menu">				      
				<li  class="active"><a href="HOME.php" title="HOME">HOME</a></li>
				<li><a href="INSERTAR.php" title="INSERTAR">INSERTAR</a></li>
				<li><a href="ELIMINAR.php" title="ELIMINAR">ELIMINAR</a></li>
				<li><a href="CONSULTAR.php" title="CONSULTAR">CONSULTAR</a></li>
				<li><a href="MODIFICAR.php" title="MODIFICAR">MODIFICAR</a></li>
                <li><a href="MOSTRAR.php" title="MOSTRAR">MOSTRAR</a></li>
	  	</div>  <!-- end #menu -->	
  </div>    <!-- end #header -->	

		<div id="logo">
			<h1><a href="#"><span class="">Take a Rest</span> ... </a></h1>
		    <div align="left"></div>
		</div>
		<!-- end #logo -->	
        
</div> <!-- end *header- wrapper -->

<div id="page"><!-- end #content -->

	<div id="sidebar">
		<ul>
			<li>
				<h2>Acciones</h2>
				<p class="Estilo2">Pulse sobre una acción para ejecutarla</p>
			</li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="InsertarHabitacion.php?rif=<?php echo $rif ?>" class="Estilo10">Agregar una nueva habitación</a></font>
            </li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="ModificarHabitacion.php?rif=<?php echo $rif ?>" class="Estilo10">Modificar una habitación existente</a></font>
            </li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="EliminarHabitacion.php?rif=<?php echo $rif ?>" class="Estilo10">Eliminar una habitación</a></font>
            </li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="MostrarHabitacion.php?rif=<?php echo $rif ?>" class="Estilo10">Mostrar todas las habitaciones</a></font>
            </li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="ConsultarLocal.php?rif=<?php echo $rif ?>" class="Estilo10">Regresar al local</a></font>
            </li>
		</ul>
</div>

  <h2 align="center"><font color="#FFFFFF" size="+2">Insertar habitación en</font><br /><font color="#CC3300" size="+1"><?php echo buscarNombreLocal($rif) ?></font></h2><br />
  
  <form name="habitacion" id="habitacion">
    <table border="0" cellspacing="5" cellpadding="5" align="center">
	<tr>
    	<td><input name="rif" type="hidden" value="<?php echo $rif ?>" />
    </tr>
<tr>
    <td align="right"><font color="#FFFFFF" size="+1">Status</font></td>
    <td align="left"><div id="status">Disponible
      <input name="status" type="radio" value="DISPONIBLE" checked="checked" 
      		 onclick="xajax_validarCedula(document.habitacion.ciCliente.value, 0)" /><br />
      No apta 
      <input name="status" type="radio" value="NO APTA"
      		 onclick="xajax_validarCedula(document.habitacion.ciCliente.value, 1)" /><br />
      Ocupada 
      <input name="status" type="radio" value="OCUPADA"
      		 onclick="xajax_validarCedula(document.habitacion.ciCliente.value, 2)" /><br />
	</div></td>
  </tr>
  <tr><td>&nbsp;</td></tr>
<tr>
    <td align="right"><font color="#FFFFFF" size="+1">Tipo</font></td>
    <td align="left"><div id="tipo">Individual
      <input name="tipoH" type="radio" value="INDIVIDUAL" checked="checked"
             onclick="document.habitacion.capacidad.value = 1" /><br />
      Doble 
      <input name="tipoH" type="radio" value="DOBLE"
             onclick="document.habitacion.capacidad.value = 2" /><br />
      Triple 
      <input name="tipoH" type="radio" value="TRIPLE"
             onclick="document.habitacion.capacidad.value = 3" /><br />
	</div></td>
  </tr>
  <tr><td>&nbsp;</td></tr>
  <tr>
    <td align="right"><font color="#FFFFFF" size="+1">Costo por noche</font></td>
    <td align="left"><div id="costo"><input name="costo" type="text" id="costo" size="33" maxlength="11" onblur="xajax_validarCosto(document.habitacion.costo.value)" /><font color="#FFFFFF" size="+1"> $US</font></div></td>
  </tr>
  <tr>
  	<td></td>
    <td><div id="errorCosto"><font color="#990000" size="-1">* Campo obligatorio</font></div></td>
    <td><div id="errorC"><input name="errorCosto" type="hidden" value="true" /></div></td>
  </tr>
  <tr>
  	<td align="right"><font color="#FFFFFF" size="+1">Capacidad</font></td>
    <td align="left"><div id="capacidad"><input name="capacidad" type="text" id="capacidad" size="24" value="1"
    									  readonly="readonly" /><font color="#FFFFFF" size="+1"> persona(s)</font></div></td>
  </tr>
  <tr><td></td></tr>					
  <tr>
  	<td align="right"><font color="#FFFFFF" size="+1">Cliente</font></td>
    <td align="left"><div id="cliente"><input name="ciCliente" type="text" id="ciCliente" size="40" maxlength="10"
    				  onblur="var indice = 0;
							  for (i = 0; i < document.habitacion.status.length; i++)
            				      if (document.habitacion.status[i].checked)
            					      indice = i;			 
			 
					  		  xajax_validarCedula(document.habitacion.ciCliente.value, indice)" /></div></td>
  </tr>
  <tr>
  	<td></td>
    <td><div id="errorCedula"></div></td>
    <td><div id="errorCd"><input name="errorCedula" type="hidden" value="false" /></div></td>
  </tr>
  <tr>
  	<td align="right"><div id="borrar"><input name="borrar" type="reset" value="Borrar todo" 
    								    onclick="xajax_reiniciarCamposErrores()" /></div></td>
    <td align="left"><div id="registrar"><input name="registrar" type="button" value="Registrar" onclick="insertarHabitacion()" /></div></td>
  </tr>
  <tr>
  	<td align="center" colspan="2"><div id="mensaje"></div></td>
  </tr> 
    </table>	  
  </form>
</div>
<!-- end #page -->
<p>&nbsp;</p>
<div id="footer">
	<p> Design by <a href="http://www.freecsstemplates.org/">Nubielis, Eduardo, Daniel </a></p>
</div>
<!-- end #footer -->
</div>
</body>
</html>
